package com.loong.web.gp4j.dao.message;

import java.util.Date;

import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Repository;

/**
 * 用户消息缓存
 *
 * @author 张成轩
 */
@Repository
public class UserMessageCache {

	@Resource
	private RedisTemplate<String, String> template;
	@Value("${cache.message.expire}")
	private long expire;

	/** 存储键 */
	private static final String KEY = "message:";

	/**
	 * 保存用户消息数量
	 * 
	 * @param user 用户
	 * @param count 消息数量
	 * @param expire 超时时间
	 */
	public void put(String user, int count) {

		String key = KEY + user;
		template.opsForValue().set(key, count + "");
		template.expireAt(key, new Date(System.currentTimeMillis() + expire));
	}

	/**
	 * 获取用户消息数量
	 * 
	 * @param user 用户
	 * @return 消息数量
	 */
	public Integer get(String user) {

		String value = template.opsForValue().get(KEY + user);
		if (value == null)
			return null;
		return Integer.valueOf(value);
	}
}
